/*
 * @lc app=leetcode.cn id=2511 lang=cpp
 *
 * [2511] 最多可以摧毁的敌人城堡数目
 */

// [1,0,0,-1,0,0,0,0,1]

// @lc code=start
class Solution {
public:
    int captureForts(vector<int>& forts) {
        /* 1.暴力 
        *  遍历整个数组, 查找1到-1之间0的个数, 选择最多的值返回

        军队经过的位置 只有 敌人的城堡。正式的，
        对于所有 min(i,j) < k < max(i,j) 的 k ，都满足 forts[k] == 0。
        */
        int pre {-1}, ans{0};
        // vector<int> num_forts;
        for(int i = 0; i < forts.size(); ++i)
        {
            if(forts[i] == 1 || forts[i] == -1)
            {
                if(pre >= 0 && forts[i] != forts[pre])
                {
                    ans = max(ans, i - pre - 1);
                }
                pre = i;
            }
           
        }
        return ans;
    } 
};
// @lc code=end

